#include <stdio.h>

int array[33] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
				 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
				 31, 32};

int main_add()
{
	int i, j, suffix;

	suffix = 0;

	for (i = 0; i < 11; i++)
		/*for (j = 0; j < 3; j++)*/ {
			suffix++;
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
			suffix++;
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
			suffix++;
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
		}
		/*
		    line = 16 suffix = 1 array = 0
			line = 18 suffix = 2 array = 1
			line = 20 suffix = 3 array = 2
			line = 16 suffix = 4 array = 3
			line = 18 suffix = 5 array = 4
			line = 20 suffix = 6 array = 5
			line = 16 suffix = 7 array = 6
			line = 18 suffix = 8 array = 7
			line = 20 suffix = 9 array = 8
			line = 16 suffix = 10 array = 9
			line = 18 suffix = 11 array = 10
			line = 20 suffix = 12 array = 11
			line = 16 suffix = 13 array = 12
			line = 18 suffix = 14 array = 13
			line = 20 suffix = 15 array = 14
			line = 16 suffix = 16 array = 15
			line = 18 suffix = 17 array = 16
			line = 20 suffix = 18 array = 17
			line = 16 suffix = 19 array = 18
			line = 18 suffix = 20 array = 19
			line = 20 suffix = 21 array = 20
			line = 16 suffix = 22 array = 21
			line = 18 suffix = 23 array = 22
			line = 20 suffix = 24 array = 23
			line = 16 suffix = 25 array = 24
			line = 18 suffix = 26 array = 25
			line = 20 suffix = 27 array = 26
			line = 16 suffix = 28 array = 27
			line = 18 suffix = 29 array = 28
			line = 20 suffix = 30 array = 29
			line = 16 suffix = 31 array = 30
			line = 18 suffix = 32 array = 31
			line = 20 suffix = 33 array = 32
		*/

	return 0;
}

int add_main()
{
	int i, j, suffix;

	suffix = 0;

	for (i = 0; i < 11; i++)
		/*for (j = 0; j < 3; j++)*/ {
			++suffix;
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
			++suffix;
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
			++suffix;
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
		}
		/*
			line = 70 suffix = 1 array = 0
			line = 72 suffix = 2 array = 1
			line = 74 suffix = 3 array = 2
			line = 70 suffix = 4 array = 3
			line = 72 suffix = 5 array = 4
			line = 74 suffix = 6 array = 5
			line = 70 suffix = 7 array = 6
			line = 72 suffix = 8 array = 7
			line = 74 suffix = 9 array = 8
			line = 70 suffix = 10 array = 9
			line = 72 suffix = 11 array = 10
			line = 74 suffix = 12 array = 11
			line = 70 suffix = 13 array = 12
			line = 72 suffix = 14 array = 13
			line = 74 suffix = 15 array = 14
			line = 70 suffix = 16 array = 15
			line = 72 suffix = 17 array = 16
			line = 74 suffix = 18 array = 17
			line = 70 suffix = 19 array = 18
			line = 72 suffix = 20 array = 19
			line = 74 suffix = 21 array = 20
			line = 70 suffix = 22 array = 21
			line = 72 suffix = 23 array = 22
			line = 74 suffix = 24 array = 23
			line = 70 suffix = 25 array = 24
			line = 72 suffix = 26 array = 25
			line = 74 suffix = 27 array = 26
			line = 70 suffix = 28 array = 27
			line = 72 suffix = 29 array = 28
			line = 74 suffix = 30 array = 29
			line = 70 suffix = 31 array = 30
			line = 72 suffix = 32 array = 31
			line = 74 suffix = 33 array = 32
		*/

	return 0;
}

int array_main()
{
	int i, j, suffix;

	suffix = 0;

	for (i = 0; i < 11; i++)
		/*for (j = 0; j < 3; j++)*/ {
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix++]);
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix++]);
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix++]);
		}

	suffix = 0;
	for (i = 0; i < 11; i++)
		/*for (j = 0; j < 3; j++)*/ {
			printf("\tline = %d array = %d\n", __LINE__,  array[suffix++]);
			printf("\tline = %d array = %d\n", __LINE__,  array[suffix++]);
			printf("\tline = %d array = %d\n", __LINE__,  array[suffix++]);
		}

	/*
	    line = 123 suffix = 1 array = 0
        line = 124 suffix = 2 array = 1
        line = 125 suffix = 3 array = 2
        line = 123 suffix = 4 array = 3
        line = 124 suffix = 5 array = 4
        line = 125 suffix = 6 array = 5
        line = 123 suffix = 7 array = 6
        line = 124 suffix = 8 array = 7
        line = 125 suffix = 9 array = 8
        line = 123 suffix = 10 array = 9
        line = 124 suffix = 11 array = 10
        line = 125 suffix = 12 array = 11
        line = 123 suffix = 13 array = 12
        line = 124 suffix = 14 array = 13
        line = 125 suffix = 15 array = 14
        line = 123 suffix = 16 array = 15
        line = 124 suffix = 17 array = 16
        line = 125 suffix = 18 array = 17
        line = 123 suffix = 19 array = 18
        line = 124 suffix = 20 array = 19
        line = 125 suffix = 21 array = 20
        line = 123 suffix = 22 array = 21
        line = 124 suffix = 23 array = 22
        line = 125 suffix = 24 array = 23
        line = 123 suffix = 25 array = 24
        line = 124 suffix = 26 array = 25
        line = 125 suffix = 27 array = 26
        line = 123 suffix = 28 array = 27
        line = 124 suffix = 29 array = 28
        line = 125 suffix = 30 array = 29
        line = 123 suffix = 31 array = 30
        line = 124 suffix = 32 array = 31
        line = 125 suffix = 33 array = 32
        line = 131 array = 0
        line = 132 array = 1
        line = 133 array = 2
        line = 131 array = 3
        line = 132 array = 4
        line = 133 array = 5
        line = 131 array = 6
        line = 132 array = 7
        line = 133 array = 8
        line = 131 array = 9
        line = 132 array = 10
        line = 133 array = 11
        line = 131 array = 12
        line = 132 array = 13
        line = 133 array = 14
        line = 131 array = 15
        line = 132 array = 16
        line = 133 array = 17
        line = 131 array = 18
        line = 132 array = 19
        line = 133 array = 20
        line = 131 array = 21
        line = 132 array = 22
        line = 133 array = 23
        line = 131 array = 24
        line = 132 array = 25
        line = 133 array = 26
        line = 131 array = 27
        line = 132 array = 28
        line = 133 array = 29
        line = 131 array = 30
        line = 132 array = 31
        line = 133 array = 32
		*/

	return 0;
}

int protocol[88] = {	0xff,   0x01,   0x0b,   0x01,   0x01,   0x01,   0x00,   0x03,   0x09,   
						0x01,   0x03,   0x00,   0x05,   0x01,   0x25,   0xff,   0x01,   0x0b,   0x02,   
						0x01,   0x01,   0x00,   0x04,   0x02,   0x01,   0x00,   0x06,   0x05,   0x01,   
						0x23,   0xff,   0x02,   0x21,   0x01,   0x01,   0x01,   0x01,   0x01,   0x01,   
						0x01,   0x01,   0x01,   0x01,   0x01,   0x01,   0x01,   0x01,   0x01,   0x01,   
						0x01,   0x01,   0x01,   0x01,   0x01,   0x01,   0x01,   0x01,   0x01,   0x01,   
						0x01,   0x01,   0x01,   0x01,   0x01,   0x01,   0x01,   0x44,   0xff,   0x03,   
						0x0a,   0x02,   0x02,   0x02,   0x02,   0x02,   0x02,   0x02,   0x02,   0x01,   
						0x01,   0x1f,   0xff,   0x04,   0x03,   0x01,   0x01,   0x01,   0x0a };



int main()
{
	//main_add();
	//add_main();
	array_main();

	return 0;
}


#if 0
/*
 * intel
 */
0000000000001149 <main_add>:
    1149:	f3 0f 1e fa          	endbr64 
    114d:	55                   	push   %rbp
    114e:	48 89 e5             	mov    %rsp,%rbp
    1151:	48 83 ec 10          	sub    $0x10,%rsp
    1155:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%rbp)
    115c:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%rbp)
    1163:	e9 b5 00 00 00       	jmpq   121d <main_add+0xd4>
    1168:	83 45 fc 01          	addl   $0x1,-0x4(%rbp)
    116c:	8b 45 fc             	mov    -0x4(%rbp),%eax
    116f:	83 e8 01             	sub    $0x1,%eax
    1172:	48 98                	cltq   
    1174:	48 8d 14 85 00 00 00 	lea    0x0(,%rax,4),%rdx
    117b:	00 
    117c:	48 8d 05 9d 2e 00 00 	lea    0x2e9d(%rip),%rax        # 4020 <array>
    1183:	8b 14 02             	mov    (%rdx,%rax,1),%edx
    1186:	8b 45 fc             	mov    -0x4(%rbp),%eax
    1189:	89 d1                	mov    %edx,%ecx
    118b:	89 c2                	mov    %eax,%edx
    118d:	be 10 00 00 00       	mov    $0x10,%esi
    1192:	48 8d 3d 6f 0e 00 00 	lea    0xe6f(%rip),%rdi        # 2008 <_IO_stdin_used+0x8>
    1199:	b8 00 00 00 00       	mov    $0x0,%eax
    119e:	e8 ad fe ff ff       	callq  1050 <printf@plt>
    11a3:	83 45 fc 01          	addl   $0x1,-0x4(%rbp)
    11a7:	8b 45 fc             	mov    -0x4(%rbp),%eax
    11aa:	83 e8 01             	sub    $0x1,%eax
    11ad:	48 98                	cltq   
    11af:	48 8d 14 85 00 00 00 	lea    0x0(,%rax,4),%rdx
    11b6:	00 
    11b7:	48 8d 05 62 2e 00 00 	lea    0x2e62(%rip),%rax        # 4020 <array>
    11be:	8b 14 02             	mov    (%rdx,%rax,1),%edx
    11c1:	8b 45 fc             	mov    -0x4(%rbp),%eax
    11c4:	89 d1                	mov    %edx,%ecx
    11c6:	89 c2                	mov    %eax,%edx
    11c8:	be 12 00 00 00       	mov    $0x12,%esi
    11cd:	48 8d 3d 34 0e 00 00 	lea    0xe34(%rip),%rdi        # 2008 <_IO_stdin_used+0x8>
    11d4:	b8 00 00 00 00       	mov    $0x0,%eax
    11d9:	e8 72 fe ff ff       	callq  1050 <printf@plt>
    11de:	83 45 fc 01          	addl   $0x1,-0x4(%rbp)
    11e2:	8b 45 fc             	mov    -0x4(%rbp),%eax
    11e5:	83 e8 01             	sub    $0x1,%eax
    11e8:	48 98                	cltq   
    11ea:	48 8d 14 85 00 00 00 	lea    0x0(,%rax,4),%rdx
    11f1:	00 
    11f2:	48 8d 05 27 2e 00 00 	lea    0x2e27(%rip),%rax        # 4020 <array>
    11f9:	8b 14 02             	mov    (%rdx,%rax,1),%edx
    11fc:	8b 45 fc             	mov    -0x4(%rbp),%eax
    11ff:	89 d1                	mov    %edx,%ecx
    1201:	89 c2                	mov    %eax,%edx
    1203:	be 14 00 00 00       	mov    $0x14,%esi
    1208:	48 8d 3d f9 0d 00 00 	lea    0xdf9(%rip),%rdi        # 2008 <_IO_stdin_used+0x8>
    120f:	b8 00 00 00 00       	mov    $0x0,%eax
    1214:	e8 37 fe ff ff       	callq  1050 <printf@plt>
    1219:	83 45 f8 01          	addl   $0x1,-0x8(%rbp)
    121d:	83 7d f8 0a          	cmpl   $0xa,-0x8(%rbp)
    1221:	0f 8e 41 ff ff ff    	jle    1168 <main_add+0x1f>
    1227:	b8 00 00 00 00       	mov    $0x0,%eax
    122c:	c9                   	leaveq 
    122d:	c3                   	retq   

000000000000122e <add_main>:
    122e:	f3 0f 1e fa          	endbr64 
    1232:	55                   	push   %rbp
    1233:	48 89 e5             	mov    %rsp,%rbp
    1236:	48 83 ec 10          	sub    $0x10,%rsp
    123a:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%rbp)
    1241:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%rbp)
    1248:	e9 b5 00 00 00       	jmpq   1302 <add_main+0xd4>
    124d:	83 45 fc 01          	addl   $0x1,-0x4(%rbp)
    1251:	8b 45 fc             	mov    -0x4(%rbp),%eax
    1254:	83 e8 01             	sub    $0x1,%eax
    1257:	48 98                	cltq   
    1259:	48 8d 14 85 00 00 00 	lea    0x0(,%rax,4),%rdx
    1260:	00 
    1261:	48 8d 05 b8 2d 00 00 	lea    0x2db8(%rip),%rax        # 4020 <array>
    1268:	8b 14 02             	mov    (%rdx,%rax,1),%edx
    126b:	8b 45 fc             	mov    -0x4(%rbp),%eax
    126e:	89 d1                	mov    %edx,%ecx
    1270:	89 c2                	mov    %eax,%edx
    1272:	be 46 00 00 00       	mov    $0x46,%esi
    1277:	48 8d 3d 8a 0d 00 00 	lea    0xd8a(%rip),%rdi        # 2008 <_IO_stdin_used+0x8>
    127e:	b8 00 00 00 00       	mov    $0x0,%eax
    1283:	e8 c8 fd ff ff       	callq  1050 <printf@plt>
    1288:	83 45 fc 01          	addl   $0x1,-0x4(%rbp)
    128c:	8b 45 fc             	mov    -0x4(%rbp),%eax
    128f:	83 e8 01             	sub    $0x1,%eax
    1292:	48 98                	cltq   
    1294:	48 8d 14 85 00 00 00 	lea    0x0(,%rax,4),%rdx
    129b:	00 
    129c:	48 8d 05 7d 2d 00 00 	lea    0x2d7d(%rip),%rax        # 4020 <array>
    12a3:	8b 14 02             	mov    (%rdx,%rax,1),%edx
    12a6:	8b 45 fc             	mov    -0x4(%rbp),%eax
    12a9:	89 d1                	mov    %edx,%ecx
    12ab:	89 c2                	mov    %eax,%edx
    12ad:	be 48 00 00 00       	mov    $0x48,%esi
    12b2:	48 8d 3d 4f 0d 00 00 	lea    0xd4f(%rip),%rdi        # 2008 <_IO_stdin_used+0x8>
    12b9:	b8 00 00 00 00       	mov    $0x0,%eax
    12be:	e8 8d fd ff ff       	callq  1050 <printf@plt>
    12c3:	83 45 fc 01          	addl   $0x1,-0x4(%rbp)
    12c7:	8b 45 fc             	mov    -0x4(%rbp),%eax
    12ca:	83 e8 01             	sub    $0x1,%eax
    12cd:	48 98                	cltq   
    12cf:	48 8d 14 85 00 00 00 	lea    0x0(,%rax,4),%rdx
    12d6:	00 
    12d7:	48 8d 05 42 2d 00 00 	lea    0x2d42(%rip),%rax        # 4020 <array>
    12de:	8b 14 02             	mov    (%rdx,%rax,1),%edx
    12e1:	8b 45 fc             	mov    -0x4(%rbp),%eax
    12e4:	89 d1                	mov    %edx,%ecx
    12e6:	89 c2                	mov    %eax,%edx
    12e8:	be 4a 00 00 00       	mov    $0x4a,%esi
    12ed:	48 8d 3d 14 0d 00 00 	lea    0xd14(%rip),%rdi        # 2008 <_IO_stdin_used+0x8>
    12f4:	b8 00 00 00 00       	mov    $0x0,%eax
    12f9:	e8 52 fd ff ff       	callq  1050 <printf@plt>
    12fe:	83 45 f8 01          	addl   $0x1,-0x8(%rbp)
    1302:	83 7d f8 0a          	cmpl   $0xa,-0x8(%rbp)
    1306:	0f 8e 41 ff ff ff    	jle    124d <add_main+0x1f>
    130c:	b8 00 00 00 00       	mov    $0x0,%eax
    1311:	c9                   	leaveq 
    1312:	c3                   	retq   

0000000000001313 <array_main>:
    1313:	f3 0f 1e fa          	endbr64 
    1317:	55                   	push   %rbp
    1318:	48 89 e5             	mov    %rsp,%rbp
    131b:	48 83 ec 10          	sub    $0x10,%rsp
    131f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%rbp)
    1326:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%rbp)
    132d:	e9 b2 00 00 00       	jmpq   13e4 <array_main+0xd1>
    1332:	8b 45 fc             	mov    -0x4(%rbp),%eax
    1335:	8d 50 01             	lea    0x1(%rax),%edx
    1338:	89 55 fc             	mov    %edx,-0x4(%rbp)
    133b:	48 98                	cltq   
    133d:	48 8d 14 85 00 00 00 	lea    0x0(,%rax,4),%rdx
    1344:	00 
    1345:	48 8d 05 d4 2c 00 00 	lea    0x2cd4(%rip),%rax        # 4020 <array>
    134c:	8b 14 02             	mov    (%rdx,%rax,1),%edx
    134f:	8b 45 fc             	mov    -0x4(%rbp),%eax
    1352:	89 d1                	mov    %edx,%ecx
    1354:	89 c2                	mov    %eax,%edx
    1356:	be 7b 00 00 00       	mov    $0x7b,%esi
    135b:	48 8d 3d a6 0c 00 00 	lea    0xca6(%rip),%rdi        # 2008 <_IO_stdin_used+0x8>
    1362:	b8 00 00 00 00       	mov    $0x0,%eax
    1367:	e8 e4 fc ff ff       	callq  1050 <printf@plt>
    136c:	8b 45 fc             	mov    -0x4(%rbp),%eax
    136f:	8d 50 01             	lea    0x1(%rax),%edx
    1372:	89 55 fc             	mov    %edx,-0x4(%rbp)
    1375:	48 98                	cltq   
    1377:	48 8d 14 85 00 00 00 	lea    0x0(,%rax,4),%rdx
    137e:	00 
    137f:	48 8d 05 9a 2c 00 00 	lea    0x2c9a(%rip),%rax        # 4020 <array>
    1386:	8b 14 02             	mov    (%rdx,%rax,1),%edx
    1389:	8b 45 fc             	mov    -0x4(%rbp),%eax
    138c:	89 d1                	mov    %edx,%ecx
    138e:	89 c2                	mov    %eax,%edx
    1390:	be 7c 00 00 00       	mov    $0x7c,%esi
    1395:	48 8d 3d 6c 0c 00 00 	lea    0xc6c(%rip),%rdi        # 2008 <_IO_stdin_used+0x8>
    139c:	b8 00 00 00 00       	mov    $0x0,%eax
    13a1:	e8 aa fc ff ff       	callq  1050 <printf@plt>
    13a6:	8b 45 fc             	mov    -0x4(%rbp),%eax
    13a9:	8d 50 01             	lea    0x1(%rax),%edx
    13ac:	89 55 fc             	mov    %edx,-0x4(%rbp)
    13af:	48 98                	cltq   
    13b1:	48 8d 14 85 00 00 00 	lea    0x0(,%rax,4),%rdx
    13b8:	00 
    13b9:	48 8d 05 60 2c 00 00 	lea    0x2c60(%rip),%rax        # 4020 <array>
    13c0:	8b 14 02             	mov    (%rdx,%rax,1),%edx
    13c3:	8b 45 fc             	mov    -0x4(%rbp),%eax
    13c6:	89 d1                	mov    %edx,%ecx
    13c8:	89 c2                	mov    %eax,%edx
    13ca:	be 7d 00 00 00       	mov    $0x7d,%esi
    13cf:	48 8d 3d 32 0c 00 00 	lea    0xc32(%rip),%rdi        # 2008 <_IO_stdin_used+0x8>
    13d6:	b8 00 00 00 00       	mov    $0x0,%eax
    13db:	e8 70 fc ff ff       	callq  1050 <printf@plt>
    13e0:	83 45 f8 01          	addl   $0x1,-0x8(%rbp)
    13e4:	83 7d f8 0a          	cmpl   $0xa,-0x8(%rbp)
    13e8:	0f 8e 44 ff ff ff    	jle    1332 <array_main+0x1f>
    13ee:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%rbp)
    13f5:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%rbp)
    13fc:	e9 a3 00 00 00       	jmpq   14a4 <array_main+0x191>
    1401:	8b 45 fc             	mov    -0x4(%rbp),%eax
    1404:	8d 50 01             	lea    0x1(%rax),%edx
    1407:	89 55 fc             	mov    %edx,-0x4(%rbp)
    140a:	48 98                	cltq   
    140c:	48 8d 14 85 00 00 00 	lea    0x0(,%rax,4),%rdx
    1413:	00 
    1414:	48 8d 05 05 2c 00 00 	lea    0x2c05(%rip),%rax        # 4020 <array>
    141b:	8b 04 02             	mov    (%rdx,%rax,1),%eax
    141e:	89 c2                	mov    %eax,%edx
    1420:	be 83 00 00 00       	mov    $0x83,%esi
    1425:	48 8d 3d ff 0b 00 00 	lea    0xbff(%rip),%rdi        # 202b <_IO_stdin_used+0x2b>
    142c:	b8 00 00 00 00       	mov    $0x0,%eax
    1431:	e8 1a fc ff ff       	callq  1050 <printf@plt>
    1436:	8b 45 fc             	mov    -0x4(%rbp),%eax
    1439:	8d 50 01             	lea    0x1(%rax),%edx
    143c:	89 55 fc             	mov    %edx,-0x4(%rbp)
    143f:	48 98                	cltq   
    1441:	48 8d 14 85 00 00 00 	lea    0x0(,%rax,4),%rdx
    1448:	00 
    1449:	48 8d 05 d0 2b 00 00 	lea    0x2bd0(%rip),%rax        # 4020 <array>
    1450:	8b 04 02             	mov    (%rdx,%rax,1),%eax
    1453:	89 c2                	mov    %eax,%edx
    1455:	be 84 00 00 00       	mov    $0x84,%esi
    145a:	48 8d 3d ca 0b 00 00 	lea    0xbca(%rip),%rdi        # 202b <_IO_stdin_used+0x2b>
    1461:	b8 00 00 00 00       	mov    $0x0,%eax
    1466:	e8 e5 fb ff ff       	callq  1050 <printf@plt>
    146b:	8b 45 fc             	mov    -0x4(%rbp),%eax
    146e:	8d 50 01             	lea    0x1(%rax),%edx
    1471:	89 55 fc             	mov    %edx,-0x4(%rbp)
    1474:	48 98                	cltq   
    1476:	48 8d 14 85 00 00 00 	lea    0x0(,%rax,4),%rdx
    147d:	00 
    147e:	48 8d 05 9b 2b 00 00 	lea    0x2b9b(%rip),%rax        # 4020 <array>
    1485:	8b 04 02             	mov    (%rdx,%rax,1),%eax
    1488:	89 c2                	mov    %eax,%edx
    148a:	be 85 00 00 00       	mov    $0x85,%esi
    148f:	48 8d 3d 95 0b 00 00 	lea    0xb95(%rip),%rdi        # 202b <_IO_stdin_used+0x2b>
    1496:	b8 00 00 00 00       	mov    $0x0,%eax
    149b:	e8 b0 fb ff ff       	callq  1050 <printf@plt>
    14a0:	83 45 f8 01          	addl   $0x1,-0x8(%rbp)
    14a4:	83 7d f8 0a          	cmpl   $0xa,-0x8(%rbp)
    14a8:	0f 8e 53 ff ff ff    	jle    1401 <array_main+0xee>
    14ae:	b8 00 00 00 00       	mov    $0x0,%eax
    14b3:	c9                   	leaveq 
    14b4:	c3                   	retq   

00000000000014b5 <main>:
    14b5:	f3 0f 1e fa          	endbr64 
    14b9:	55                   	push   %rbp
    14ba:	48 89 e5             	mov    %rsp,%rbp
    14bd:	b8 00 00 00 00       	mov    $0x0,%eax
    14c2:	e8 4c fe ff ff       	callq  1313 <array_main>
    14c7:	b8 00 00 00 00       	mov    $0x0,%eax
    14cc:	5d                   	pop    %rbp
    14cd:	c3                   	retq   
    14ce:	66 90                	xchg   %ax,%ax

/*
 * arm v8
 */
int main_add()
{
  400590:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
  400594:	910003fd 	mov	x29, sp
	int i, j, suffix;

	suffix = 0;
  400598:	b9001bbf 	str	wzr, [x29, #24] ; suffix

	for (i = 0; i < 11; i++)
  40059c:	b9001fbf 	str	wzr, [x29, #28] ; i
  4005a0:	14000031 	b	400664 <main_add+0xd4>
		/*for (j = 0; j < 3; j++)*/ {
			suffix++;
  4005a4:	b9401ba0 	ldr	w0, [x29, #24] ; suffix
  4005a8:	11000400 	add	w0, w0, #0x1   ; suffix+1
  4005ac:	b9001ba0 	str	w0, [x29, #24] ; save suffix+1
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
  4005b0:	b9401ba0 	ldr	w0, [x29, #24] ; w0=suffix
  4005b4:	51000401 	sub	w1, w0, #0x1   ; w1=suffix-1
  4005b8:	b0000080 	adrp	x0, 411000 <__libc_start_main@GLIBC_2.17>
  4005bc:	9100c000 	add	x0, x0, #0x30 ; array
  4005c0:	93407c21 	sxtw	x1, w1
  4005c4:	b8617801 	ldr	w1, [x0, x1, lsl #2] ; w1 = array + (suffix-1)<<2
  4005c8:	90000000 	adrp	x0, 400000 <_init-0x3c8> ; parameter
  4005cc:	91268000 	add	x0, x0, #0x9a0
  4005d0:	2a0103e3 	mov	w3, w1 ; array[suffix-1]
  4005d4:	b9401ba2 	ldr	w2, [x29, #24] ; suffix
  4005d8:	52800201 	mov	w1, #0x10                  	// #16
  4005dc:	97ffff95 	bl	400430 <printf@plt>
			suffix++;
  4005e0:	b9401ba0 	ldr	w0, [x29, #24] ; suffix
  4005e4:	11000400 	add	w0, w0, #0x1   ; suffix+1
  4005e8:	b9001ba0 	str	w0, [x29, #24] ; save suffix+1
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
  4005ec:	b9401ba0 	ldr	w0, [x29, #24] ; suffix
  4005f0:	51000401 	sub	w1, w0, #0x1   ; suffix - 1
  4005f4:	b0000080 	adrp	x0, 411000 <__libc_start_main@GLIBC_2.17>
  4005f8:	9100c000 	add	x0, x0, #0x30 ; array
  4005fc:	93407c21 	sxtw	x1, w1    ; (64bit)(suffix-1)
  400600:	b8617801 	ldr	w1, [x0, x1, lsl #2] ; w1 = array+(suffix-1)<<2
  400604:	90000000 	adrp	x0, 400000 <_init-0x3c8>
  400608:	91268000 	add	x0, x0, #0x9a0 ; parameter
  40060c:	2a0103e3 	mov	w3, w1         ; array[suffix-1]
  400610:	b9401ba2 	ldr	w2, [x29, #24] ; suffix
  400614:	52800241 	mov	w1, #0x12                  	// #18
  400618:	97ffff86 	bl	400430 <printf@plt>
			suffix++;
  40061c:	b9401ba0 	ldr	w0, [x29, #24]
  400620:	11000400 	add	w0, w0, #0x1
  400624:	b9001ba0 	str	w0, [x29, #24]
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
  400628:	b9401ba0 	ldr	w0, [x29, #24]
  40062c:	51000401 	sub	w1, w0, #0x1
  400630:	b0000080 	adrp	x0, 411000 <__libc_start_main@GLIBC_2.17>
  400634:	9100c000 	add	x0, x0, #0x30
  400638:	93407c21 	sxtw	x1, w1
  40063c:	b8617801 	ldr	w1, [x0, x1, lsl #2]
  400640:	90000000 	adrp	x0, 400000 <_init-0x3c8>
  400644:	91268000 	add	x0, x0, #0x9a0
  400648:	2a0103e3 	mov	w3, w1
  40064c:	b9401ba2 	ldr	w2, [x29, #24]
  400650:	52800281 	mov	w1, #0x14                  	// #20
  400654:	97ffff77 	bl	400430 <printf@plt>
	for (i = 0; i < 11; i++)
  400658:	b9401fa0 	ldr	w0, [x29, #28]
  40065c:	11000400 	add	w0, w0, #0x1
  400660:	b9001fa0 	str	w0, [x29, #28]
  400664:	b9401fa0 	ldr	w0, [x29, #28]
  400668:	7100281f 	cmp	w0, #0xa
  40066c:	54fff9cd 	b.le	4005a4 <main_add+0x14>
		}

	return 0;
  400670:	52800000 	mov	w0, #0x0                   	// #0
}
  400674:	a8c27bfd 	ldp	x29, x30, [sp], #32
  400678:	d65f03c0 	ret

000000000040067c <add_main>:

int add_main()
{
  40067c:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
  400680:	910003fd 	mov	x29, sp
	int i, j, suffix;

	suffix = 0;
  400684:	b9001bbf 	str	wzr, [x29, #24] ; suffix

	for (i = 0; i < 11; i++)
  400688:	b9001fbf 	str	wzr, [x29, #28] ; i = 0
  40068c:	14000031 	b	400750 <add_main+0xd4>
		/*for (j = 0; j < 3; j++)*/ {
			++suffix;
  400690:	b9401ba0 	ldr	w0, [x29, #24] ; suffix
  400694:	11000400 	add	w0, w0, #0x1   ; suffix+1
  400698:	b9001ba0 	str	w0, [x29, #24] ; save suffix+1
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
  40069c:	b9401ba0 	ldr	w0, [x29, #24] ; w0 = suffix
  4006a0:	51000401 	sub	w1, w0, #0x1   ; w1 = suffix-1
  4006a4:	b0000080 	adrp	x0, 411000 <__libc_start_main@GLIBC_2.17>
  4006a8:	9100c000 	add	x0, x0, #0x30 ; x0 = array
  4006ac:	93407c21 	sxtw	x1, w1    ; x1 = w1
  4006b0:	b8617801 	ldr	w1, [x0, x1, lsl #2] ; w1 = array + (sffix-1)<<2
  4006b4:	90000000 	adrp	x0, 400000 <_init-0x3c8>
  4006b8:	91268000 	add	x0, x0, #0x9a0
  4006bc:	2a0103e3 	mov	w3, w1
  4006c0:	b9401ba2 	ldr	w2, [x29, #24]
  4006c4:	52800461 	mov	w1, #0x23                  	// #35
  4006c8:	97ffff5a 	bl	400430 <printf@plt>
			++suffix;
  4006cc:	b9401ba0 	ldr	w0, [x29, #24]
  4006d0:	11000400 	add	w0, w0, #0x1
  4006d4:	b9001ba0 	str	w0, [x29, #24]
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
  4006d8:	b9401ba0 	ldr	w0, [x29, #24]
  4006dc:	51000401 	sub	w1, w0, #0x1
  4006e0:	b0000080 	adrp	x0, 411000 <__libc_start_main@GLIBC_2.17>
  4006e4:	9100c000 	add	x0, x0, #0x30
  4006e8:	93407c21 	sxtw	x1, w1
  4006ec:	b8617801 	ldr	w1, [x0, x1, lsl #2]
  4006f0:	90000000 	adrp	x0, 400000 <_init-0x3c8>
  4006f4:	91268000 	add	x0, x0, #0x9a0
  4006f8:	2a0103e3 	mov	w3, w1
  4006fc:	b9401ba2 	ldr	w2, [x29, #24]
  400700:	528004a1 	mov	w1, #0x25                  	// #37
  400704:	97ffff4b 	bl	400430 <printf@plt>
			++suffix;
  400708:	b9401ba0 	ldr	w0, [x29, #24]
  40070c:	11000400 	add	w0, w0, #0x1
  400710:	b9001ba0 	str	w0, [x29, #24]
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
  400714:	b9401ba0 	ldr	w0, [x29, #24]
  400718:	51000401 	sub	w1, w0, #0x1
  40071c:	b0000080 	adrp	x0, 411000 <__libc_start_main@GLIBC_2.17>
  400720:	9100c000 	add	x0, x0, #0x30
  400724:	93407c21 	sxtw	x1, w1
  400728:	b8617801 	ldr	w1, [x0, x1, lsl #2]
  40072c:	90000000 	adrp	x0, 400000 <_init-0x3c8>
  400730:	91268000 	add	x0, x0, #0x9a0
  400734:	2a0103e3 	mov	w3, w1
  400738:	b9401ba2 	ldr	w2, [x29, #24]
  40073c:	528004e1 	mov	w1, #0x27                  	// #39
  400740:	97ffff3c 	bl	400430 <printf@plt>
	for (i = 0; i < 11; i++)
  400744:	b9401fa0 	ldr	w0, [x29, #28]
  400748:	11000400 	add	w0, w0, #0x1
  40074c:	b9001fa0 	str	w0, [x29, #28]
  400750:	b9401fa0 	ldr	w0, [x29, #28]
  400754:	7100281f 	cmp	w0, #0xa
  400758:	54fff9cd 	b.le	400690 <add_main+0x14>
		}

	return 0;
  40075c:	52800000 	mov	w0, #0x0                   	// #0
}
  400760:	a8c27bfd 	ldp	x29, x30, [sp], #32
  400764:	d65f03c0 	ret

0000000000400768 <array_main>:

int array_main()
{
  400768:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
  40076c:	910003fd 	mov	x29, sp
	int i, j, suffix;

	suffix = 0;
  400770:	b9001bbf 	str	wzr, [x29, #24] ; suffix

	for (i = 0; i < 11; i++)
  400774:	b9001fbf 	str	wzr, [x29, #28] ; i
  400778:	1400002b 	b	400824 <array_main+0xbc>
		/*for (j = 0; j < 3; j++)*/ {
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix++]);
  40077c:	b9401ba0 	ldr	w0, [x29, #24] ; w0 = suffix
  400780:	11000401 	add	w1, w0, #0x1   ; w1 = suffix+1
  400784:	b9001ba1 	str	w1, [x29, #24] ; save suffix+1
  400788:	b0000081 	adrp	x1, 411000 <__libc_start_main@GLIBC_2.17>
  40078c:	9100c021 	add	x1, x1, #0x30 ; array
  400790:	93407c00 	sxtw	x0, w0    ; x0 = w0
  400794:	b8607821 	ldr	w1, [x1, x0, lsl #2] ; w1 = array + suffix<<2
  400798:	90000000 	adrp	x0, 400000 <_init-0x3c8>
  40079c:	91268000 	add	x0, x0, #0x9a0
  4007a0:	2a0103e3 	mov	w3, w1
  4007a4:	b9401ba2 	ldr	w2, [x29, #24]
  4007a8:	528006a1 	mov	w1, #0x35                  	// #53
  4007ac:	97ffff21 	bl	400430 <printf@plt>
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix++]);
  4007b0:	b9401ba0 	ldr	w0, [x29, #24]
  4007b4:	11000401 	add	w1, w0, #0x1
  4007b8:	b9001ba1 	str	w1, [x29, #24]
  4007bc:	b0000081 	adrp	x1, 411000 <__libc_start_main@GLIBC_2.17>
  4007c0:	9100c021 	add	x1, x1, #0x30
  4007c4:	93407c00 	sxtw	x0, w0
  4007c8:	b8607821 	ldr	w1, [x1, x0, lsl #2]
  4007cc:	90000000 	adrp	x0, 400000 <_init-0x3c8>
  4007d0:	91268000 	add	x0, x0, #0x9a0
  4007d4:	2a0103e3 	mov	w3, w1
  4007d8:	b9401ba2 	ldr	w2, [x29, #24]
  4007dc:	528006c1 	mov	w1, #0x36                  	// #54
  4007e0:	97ffff14 	bl	400430 <printf@plt>
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix++]);
  4007e4:	b9401ba0 	ldr	w0, [x29, #24]
  4007e8:	11000401 	add	w1, w0, #0x1
  4007ec:	b9001ba1 	str	w1, [x29, #24]
  4007f0:	b0000081 	adrp	x1, 411000 <__libc_start_main@GLIBC_2.17>
  4007f4:	9100c021 	add	x1, x1, #0x30
  4007f8:	93407c00 	sxtw	x0, w0
  4007fc:	b8607821 	ldr	w1, [x1, x0, lsl #2]
  400800:	90000000 	adrp	x0, 400000 <_init-0x3c8>
  400804:	91268000 	add	x0, x0, #0x9a0
  400808:	2a0103e3 	mov	w3, w1
  40080c:	b9401ba2 	ldr	w2, [x29, #24]
  400810:	528006e1 	mov	w1, #0x37                  	// #55
  400814:	97ffff07 	bl	400430 <printf@plt>
	for (i = 0; i < 11; i++)
  400818:	b9401fa0 	ldr	w0, [x29, #28]
  40081c:	11000400 	add	w0, w0, #0x1
  400820:	b9001fa0 	str	w0, [x29, #28]
  400824:	b9401fa0 	ldr	w0, [x29, #28]
  400828:	7100281f 	cmp	w0, #0xa
  40082c:	54fffa8d 	b.le	40077c <array_main+0x14>
		}

	suffix = 0;
  400830:	b9001bbf 	str	wzr, [x29, #24]
	for (i = 0; i < 11; i++)
  400834:	b9001fbf 	str	wzr, [x29, #28]
  400838:	14000028 	b	4008d8 <array_main+0x170>
		/*for (j = 0; j < 3; j++)*/ {
			printf("\tline = %d array = %d\n", __LINE__,  array[suffix++]);
  40083c:	b9401ba0 	ldr	w0, [x29, #24]
  400840:	11000401 	add	w1, w0, #0x1
  400844:	b9001ba1 	str	w1, [x29, #24]
  400848:	b0000081 	adrp	x1, 411000 <__libc_start_main@GLIBC_2.17>
  40084c:	9100c021 	add	x1, x1, #0x30
  400850:	93407c00 	sxtw	x0, w0
  400854:	b8607821 	ldr	w1, [x1, x0, lsl #2]
  400858:	90000000 	adrp	x0, 400000 <_init-0x3c8>
  40085c:	91272000 	add	x0, x0, #0x9c8
  400860:	2a0103e2 	mov	w2, w1
  400864:	528007a1 	mov	w1, #0x3d                  	// #61
  400868:	97fffef2 	bl	400430 <printf@plt>
			printf("\tline = %d array = %d\n", __LINE__,  array[suffix++]);
  40086c:	b9401ba0 	ldr	w0, [x29, #24]
  400870:	11000401 	add	w1, w0, #0x1
  400874:	b9001ba1 	str	w1, [x29, #24]
  400878:	b0000081 	adrp	x1, 411000 <__libc_start_main@GLIBC_2.17>
  40087c:	9100c021 	add	x1, x1, #0x30
  400880:	93407c00 	sxtw	x0, w0
  400884:	b8607821 	ldr	w1, [x1, x0, lsl #2]
  400888:	90000000 	adrp	x0, 400000 <_init-0x3c8>
  40088c:	91272000 	add	x0, x0, #0x9c8
  400890:	2a0103e2 	mov	w2, w1
  400894:	528007c1 	mov	w1, #0x3e                  	// #62
  400898:	97fffee6 	bl	400430 <printf@plt>
			printf("\tline = %d array = %d\n", __LINE__,  array[suffix++]);
  40089c:	b9401ba0 	ldr	w0, [x29, #24]
  4008a0:	11000401 	add	w1, w0, #0x1
  4008a4:	b9001ba1 	str	w1, [x29, #24]
  4008a8:	b0000081 	adrp	x1, 411000 <__libc_start_main@GLIBC_2.17>
  4008ac:	9100c021 	add	x1, x1, #0x30
  4008b0:	93407c00 	sxtw	x0, w0
  4008b4:	b8607821 	ldr	w1, [x1, x0, lsl #2]
  4008b8:	90000000 	adrp	x0, 400000 <_init-0x3c8>
  4008bc:	91272000 	add	x0, x0, #0x9c8
  4008c0:	2a0103e2 	mov	w2, w1
  4008c4:	528007e1 	mov	w1, #0x3f                  	// #63
  4008c8:	97fffeda 	bl	400430 <printf@plt>
	for (i = 0; i < 11; i++)
  4008cc:	b9401fa0 	ldr	w0, [x29, #28]
  4008d0:	11000400 	add	w0, w0, #0x1
  4008d4:	b9001fa0 	str	w0, [x29, #28]
  4008d8:	b9401fa0 	ldr	w0, [x29, #28]
  4008dc:	7100281f 	cmp	w0, #0xa
  4008e0:	54fffaed 	b.le	40083c <array_main+0xd4>
		}

	return 0;
  4008e4:	52800000 	mov	w0, #0x0                   	// #0
}
  4008e8:	a8c27bfd 	ldp	x29, x30, [sp], #32
  4008ec:	d65f03c0 	ret

00000000004008f0 <main>:
						0x01,   0x1f,   0xff,   0x04,   0x03,   0x01,   0x01,   0x01,   0x0a };



int main()
{
  4008f0:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
  4008f4:	910003fd 	mov	x29, sp
	//main_add();
	//add_main();
	array_main();
  4008f8:	97ffff9c 	bl	400768 <array_main>

	return 0;
  4008fc:	52800000 	mov	w0, #0x0                   	// #0
}

/*
 * arm v7
 */
int main_add()
{
   10490:	e92d4800 	push	{fp, lr}
   10494:	e28db004 	add	fp, sp, #4
   10498:	e24dd008 	sub	sp, sp, #8
	int i, j, suffix;

	suffix = 0;
   1049c:	e3a03000 	mov	r3, #0
   104a0:	e50b300c 	str	r3, [fp, #-12] ; suffix

	for (i = 0; i < 11; i++)
   104a4:	e3a03000 	mov	r3, #0 ; i = 0
   104a8:	e50b3008 	str	r3, [fp, #-8] ; i
   104ac:	ea000023 	b	10540 <main_add+0xb0>
		/*for (j = 0; j < 3; j++)*/ {
			suffix++;
   104b0:	e51b300c 	ldr	r3, [fp, #-12] ; suffix
   104b4:	e2833001 	add	r3, r3, #1     ; suffix+1
   104b8:	e50b300c 	str	r3, [fp, #-12] ; save suffix
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
   104bc:	e51b300c 	ldr	r3, [fp, #-12] ; r3 = suffix
   104c0:	e2433001 	sub	r3, r3, #1     ; r3 = suffix - 1
   104c4:	e59f2090 	ldr	r2, [pc, #144]	; 1055c <main_add+0xcc>     array[]
   104c8:	e7923103 	ldr	r3, [r2, r3, lsl #2] ; r3=array+(suffix-1)<<2 = array[suffix-1]
   104cc:	e51b200c 	ldr	r2, [fp, #-12]       ; r2 = suffix
   104d0:	e3a01010 	mov	r1, #16        ; line number
   104d4:	e59f0084 	ldr	r0, [pc, #132]	; 10560 <main_add+0xd0>
   104d8:	ebffff8c 	bl	10310 <printf@plt>
			suffix++;
   104dc:	e51b300c 	ldr	r3, [fp, #-12] 
   104e0:	e2833001 	add	r3, r3, #1 ; +1
   104e4:	e50b300c 	str	r3, [fp, #-12]
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
   104e8:	e51b300c 	ldr	r3, [fp, #-12]
   104ec:	e2433001 	sub	r3, r3, #1     ; -1
   104f0:	e59f2064 	ldr	r2, [pc, #100]	; 1055c <main_add+0xcc>
   104f4:	e7923103 	ldr	r3, [r2, r3, lsl #2]
   104f8:	e51b200c 	ldr	r2, [fp, #-12]
   104fc:	e3a01012 	mov	r1, #18
   10500:	e59f0058 	ldr	r0, [pc, #88]	; 10560 <main_add+0xd0>
   10504:	ebffff81 	bl	10310 <printf@plt>
			suffix++;
   10508:	e51b300c 	ldr	r3, [fp, #-12]
   1050c:	e2833001 	add	r3, r3, #1
   10510:	e50b300c 	str	r3, [fp, #-12]
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
   10514:	e51b300c 	ldr	r3, [fp, #-12]
   10518:	e2433001 	sub	r3, r3, #1
   1051c:	e59f2038 	ldr	r2, [pc, #56]	; 1055c <main_add+0xcc>
   10520:	e7923103 	ldr	r3, [r2, r3, lsl #2]
   10524:	e51b200c 	ldr	r2, [fp, #-12]
   10528:	e3a01014 	mov	r1, #20
   1052c:	e59f002c 	ldr	r0, [pc, #44]	; 10560 <main_add+0xd0>
   10530:	ebffff76 	bl	10310 <printf@plt>
{
	int i, j, suffix;

	suffix = 0;

	for (i = 0; i < 11; i++)
   10534:	e51b3008 	ldr	r3, [fp, #-8]
   10538:	e2833001 	add	r3, r3, #1
   1053c:	e50b3008 	str	r3, [fp, #-8]
   10540:	e51b3008 	ldr	r3, [fp, #-8]
   10544:	e353000a 	cmp	r3, #10
   10548:	daffffd8 	ble	104b0 <main_add+0x20>
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
			suffix++;
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
		}

	return 0;
   1054c:	e3a03000 	mov	r3, #0
}
   10550:	e1a00003 	mov	r0, r3
   10554:	e24bd004 	sub	sp, fp, #4
   10558:	e8bd8800 	pop	{fp, pc}
   1055c:	000208e4 	.word	0x000208e4
   10560:	000107b8 	.word	0x000107b8

00010564 <add_main>:

int add_main()
{
   10564:	e92d4800 	push	{fp, lr}
   10568:	e28db004 	add	fp, sp, #4
   1056c:	e24dd008 	sub	sp, sp, #8
	int i, j, suffix;

	suffix = 0;
   10570:	e3a03000 	mov	r3, #0
   10574:	e50b300c 	str	r3, [fp, #-12]

	for (i = 0; i < 11; i++)
   10578:	e3a03000 	mov	r3, #0
   1057c:	e50b3008 	str	r3, [fp, #-8]
   10580:	ea000023 	b	10614 <add_main+0xb0>
		/*for (j = 0; j < 3; j++)*/ {
			++suffix;
   10584:	e51b300c 	ldr	r3, [fp, #-12]
   10588:	e2833001 	add	r3, r3, #1
   1058c:	e50b300c 	str	r3, [fp, #-12]
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
   10590:	e51b300c 	ldr	r3, [fp, #-12]
   10594:	e2433001 	sub	r3, r3, #1
   10598:	e59f2090 	ldr	r2, [pc, #144]	; 10630 <add_main+0xcc>
   1059c:	e7923103 	ldr	r3, [r2, r3, lsl #2]
   105a0:	e51b200c 	ldr	r2, [fp, #-12]
   105a4:	e3a01023 	mov	r1, #35	; 0x23
   105a8:	e59f0084 	ldr	r0, [pc, #132]	; 10634 <add_main+0xd0>
   105ac:	ebffff57 	bl	10310 <printf@plt>
			++suffix;
   105b0:	e51b300c 	ldr	r3, [fp, #-12]
   105b4:	e2833001 	add	r3, r3, #1
   105b8:	e50b300c 	str	r3, [fp, #-12]
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
   105bc:	e51b300c 	ldr	r3, [fp, #-12]
   105c0:	e2433001 	sub	r3, r3, #1
   105c4:	e59f2064 	ldr	r2, [pc, #100]	; 10630 <add_main+0xcc>
   105c8:	e7923103 	ldr	r3, [r2, r3, lsl #2]
   105cc:	e51b200c 	ldr	r2, [fp, #-12]
   105d0:	e3a01025 	mov	r1, #37	; 0x25
   105d4:	e59f0058 	ldr	r0, [pc, #88]	; 10634 <add_main+0xd0>
   105d8:	ebffff4c 	bl	10310 <printf@plt>
			++suffix;
   105dc:	e51b300c 	ldr	r3, [fp, #-12]
   105e0:	e2833001 	add	r3, r3, #1
   105e4:	e50b300c 	str	r3, [fp, #-12]
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
   105e8:	e51b300c 	ldr	r3, [fp, #-12]
   105ec:	e2433001 	sub	r3, r3, #1
   105f0:	e59f2038 	ldr	r2, [pc, #56]	; 10630 <add_main+0xcc>
   105f4:	e7923103 	ldr	r3, [r2, r3, lsl #2]
   105f8:	e51b200c 	ldr	r2, [fp, #-12]
   105fc:	e3a01027 	mov	r1, #39	; 0x27
   10600:	e59f002c 	ldr	r0, [pc, #44]	; 10634 <add_main+0xd0>
   10604:	ebffff41 	bl	10310 <printf@plt>
{
	int i, j, suffix;

	suffix = 0;

	for (i = 0; i < 11; i++)
   10608:	e51b3008 	ldr	r3, [fp, #-8]
   1060c:	e2833001 	add	r3, r3, #1
   10610:	e50b3008 	str	r3, [fp, #-8]
   10614:	e51b3008 	ldr	r3, [fp, #-8]
   10618:	e353000a 	cmp	r3, #10
   1061c:	daffffd8 	ble	10584 <add_main+0x20>
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
			++suffix;
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix-1]);
		}

	return 0;
   10620:	e3a03000 	mov	r3, #0
}
   10624:	e1a00003 	mov	r0, r3
   10628:	e24bd004 	sub	sp, fp, #4
   1062c:	e8bd8800 	pop	{fp, pc}
   10630:	000208e4 	.word	0x000208e4
   10634:	000107b8 	.word	0x000107b8

00010638 <array_main>:

int array_main()
{
   10638:	e92d4800 	push	{fp, lr}
   1063c:	e28db004 	add	fp, sp, #4
   10640:	e24dd008 	sub	sp, sp, #8
	int i, j, suffix;

	suffix = 0;
   10644:	e3a03000 	mov	r3, #0
   10648:	e50b300c 	str	r3, [fp, #-12]

	for (i = 0; i < 11; i++)
   1064c:	e3a03000 	mov	r3, #0 ; i = 0
   10650:	e50b3008 	str	r3, [fp, #-8] ; i
   10654:	ea00001d 	b	106d0 <array_main+0x98>
		/*for (j = 0; j < 3; j++)*/ {
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix++]);
   10658:	e51b300c 	ldr	r3, [fp, #-12] ; suffix
   1065c:	e2832001 	add	r2, r3, #1     ; suffix+1
   10660:	e50b200c 	str	r2, [fp, #-12] ; save suffix+1
   10664:	e59f2118 	ldr	r2, [pc, #280]	; 10784 <array_main+0x14c>
   10668:	e7923103 	ldr	r3, [r2, r3, lsl #2] ; r3 =  array+(suffix)<<2
   1066c:	e51b200c 	ldr	r2, [fp, #-12]       ; suffix+1
   10670:	e3a01035 	mov	r1, #53	; 0x35
   10674:	e59f010c 	ldr	r0, [pc, #268]	; 10788 <array_main+0x150>
   10678:	ebffff24 	bl	10310 <printf@plt>
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix++]);
   1067c:	e51b300c 	ldr	r3, [fp, #-12] ; r3 = suffix
   10680:	e2832001 	add	r2, r3, #1     ; r2 = suffix+1
   10684:	e50b200c 	str	r2, [fp, #-12] ; save suffix+1
   10688:	e59f20f4 	ldr	r2, [pc, #244]	; 10784 <array_main+0x14c>  array
   1068c:	e7923103 	ldr	r3, [r2, r3, lsl #2] ; r3 = array + suffix<<2
   10690:	e51b200c 	ldr	r2, [fp, #-12]
   10694:	e3a01036 	mov	r1, #54	; 0x36
   10698:	e59f00e8 	ldr	r0, [pc, #232]	; 10788 <array_main+0x150>
   1069c:	ebffff1b 	bl	10310 <printf@plt>
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix++]);
   106a0:	e51b300c 	ldr	r3, [fp, #-12]
   106a4:	e2832001 	add	r2, r3, #1
   106a8:	e50b200c 	str	r2, [fp, #-12]
   106ac:	e59f20d0 	ldr	r2, [pc, #208]	; 10784 <array_main+0x14c>
   106b0:	e7923103 	ldr	r3, [r2, r3, lsl #2]
   106b4:	e51b200c 	ldr	r2, [fp, #-12]
   106b8:	e3a01037 	mov	r1, #55	; 0x37
   106bc:	e59f00c4 	ldr	r0, [pc, #196]	; 10788 <array_main+0x150>
   106c0:	ebffff12 	bl	10310 <printf@plt>
{
	int i, j, suffix;

	suffix = 0;

	for (i = 0; i < 11; i++)
   106c4:	e51b3008 	ldr	r3, [fp, #-8]
   106c8:	e2833001 	add	r3, r3, #1
   106cc:	e50b3008 	str	r3, [fp, #-8]
   106d0:	e51b3008 	ldr	r3, [fp, #-8]
   106d4:	e353000a 	cmp	r3, #10
   106d8:	daffffde 	ble	10658 <array_main+0x20>
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix++]);
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix++]);
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix++]);
		}

	suffix = 0;
   106dc:	e3a03000 	mov	r3, #0
   106e0:	e50b300c 	str	r3, [fp, #-12]
	for (i = 0; i < 11; i++)
   106e4:	e3a03000 	mov	r3, #0
   106e8:	e50b3008 	str	r3, [fp, #-8]
   106ec:	ea00001d 	b	10768 <array_main+0x130>
		/*for (j = 0; j < 3; j++)*/ {
			printf("\tline = %d array = %d\n", __LINE__,  array[suffix++]);
   106f0:	e51b300c 	ldr	r3, [fp, #-12] ; suffix
   106f4:	e2832001 	add	r2, r3, #1     ; r2 = suffix+1
   106f8:	e50b200c 	str	r2, [fp, #-12] ; save suffix+1
   106fc:	e59f2080 	ldr	r2, [pc, #128]	; 10784 <array_main+0x14c>
   10700:	e7923103 	ldr	r3, [r2, r3, lsl #2] ; array + suffix << 2
   10704:	e1a02003 	mov	r2, r3
   10708:	e3a0103d 	mov	r1, #61	; 0x3d
   1070c:	e59f0078 	ldr	r0, [pc, #120]	; 1078c <array_main+0x154>
   10710:	ebfffefe 	bl	10310 <printf@plt>
			printf("\tline = %d array = %d\n", __LINE__,  array[suffix++]);
   10714:	e51b300c 	ldr	r3, [fp, #-12]
   10718:	e2832001 	add	r2, r3, #1
   1071c:	e50b200c 	str	r2, [fp, #-12]
   10720:	e59f205c 	ldr	r2, [pc, #92]	; 10784 <array_main+0x14c>
   10724:	e7923103 	ldr	r3, [r2, r3, lsl #2]
   10728:	e1a02003 	mov	r2, r3
   1072c:	e3a0103e 	mov	r1, #62	; 0x3e
   10730:	e59f0054 	ldr	r0, [pc, #84]	; 1078c <array_main+0x154>
   10734:	ebfffef5 	bl	10310 <printf@plt>
			printf("\tline = %d array = %d\n", __LINE__,  array[suffix++]);
   10738:	e51b300c 	ldr	r3, [fp, #-12]
   1073c:	e2832001 	add	r2, r3, #1
   10740:	e50b200c 	str	r2, [fp, #-12]
   10744:	e59f2038 	ldr	r2, [pc, #56]	; 10784 <array_main+0x14c>
   10748:	e7923103 	ldr	r3, [r2, r3, lsl #2]
   1074c:	e1a02003 	mov	r2, r3
   10750:	e3a0103f 	mov	r1, #63	; 0x3f
   10754:	e59f0030 	ldr	r0, [pc, #48]	; 1078c <array_main+0x154>
   10758:	ebfffeec 	bl	10310 <printf@plt>
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix++]);
			printf("\tline = %d suffix = %d array = %d\n", __LINE__, suffix, array[suffix++]);
		}

	suffix = 0;
	for (i = 0; i < 11; i++)
   1075c:	e51b3008 	ldr	r3, [fp, #-8]
   10760:	e2833001 	add	r3, r3, #1
   10764:	e50b3008 	str	r3, [fp, #-8]
   10768:	e51b3008 	ldr	r3, [fp, #-8]
   1076c:	e353000a 	cmp	r3, #10
   10770:	daffffde 	ble	106f0 <array_main+0xb8>
			printf("\tline = %d array = %d\n", __LINE__,  array[suffix++]);
			printf("\tline = %d array = %d\n", __LINE__,  array[suffix++]);
			printf("\tline = %d array = %d\n", __LINE__,  array[suffix++]);
		}

	return 0;
   10774:	e3a03000 	mov	r3, #0
}
   10778:	e1a00003 	mov	r0, r3
   1077c:	e24bd004 	sub	sp, fp, #4
   10780:	e8bd8800 	pop	{fp, pc}
   10784:	000208e4 	.word	0x000208e4
   10788:	000107b8 	.word	0x000107b8
   1078c:	000107dc 	.word	0x000107dc

00010790 <main>:
						0x01,   0x1f,   0xff,   0x04,   0x03,   0x01,   0x01,   0x01,   0x0a };



int main()
{
   10790:	e92d4800 	push	{fp, lr}
   10794:	e28db004 	add	fp, sp, #4
	//main_add();
	//add_main();
	array_main();
   10798:	ebffffa6 	bl	10638 <array_main>

	return 0;
   1079c:	e3a03000 	mov	r3, #0
}

#endif

